// stores/consult.ts
import { ref } from 'vue'
import { defineStore } from 'pinia'
import type { Image } from '@/types/consult'

export interface ConsultInfo {
  illnessDesc: string
  illnessTime: number
  consultFlag: number
  pictures: Image[]
}

export const useConsultStore = defineStore(
  'consult',
  () => {
    // 患者病情初始数据
    const initalValue = {
      illnessDesc: '',
      illnessTime: 1,
      consultFlag: 0,
      pictures: [],
    }

    // 这 3 个字段用来保存 路由中携带的信息
    // 极速问诊
    const type = ref('')
    // 问诊类型
    const illnessType = ref('')
    // 科室ID
    const depId = ref('')

    //患者的 id 基于这个id 创建订单
    const patientId = ref('')

        // 提供清空的方法
        const clear = () => {
          // 挨个的清空数据即可
          illnessInfo.value = { ...initalValue }
          type.value = ''
          illnessType.value = ''
          depId.value = ''
          patientId.value = ''
        }
    

    // 患者病情数据
    // 外部不设置，使用初始值
    const illnessInfo = ref<ConsultInfo>({ ...initalValue })

    return { illnessInfo, initalValue,type,illnessType,depId,patientId,clear }
  },
  {
    // 数据缓存
    unistorage: true,
  }
)
